
\chapter{前言}
\section{为什么要使用\LaTeX?}
根据国家统计局2019年1月21日发布的2018年中国出生人口数据来看，
2018年我国总人口13.95亿，而1978-2019年全国本科毕业生人数为大概为5300万人。
大学生指的是在高等院校注册入学并且接受教育直至毕业前的群体统称，
大学生的范围包括:专科生、本科生和研究生（硕士生、博士生），所以从严谨的态度来说，
两者是不对应的。既然提到大学生的规模，给人一种“遍地都是”的感觉，
那么我们有必要了解清楚到底目前我国专科生、本科生、硕士生、博士生到底有多少人？
据公开数据显示，截止2019年全国专科生数量5500万左右，本科生为5200万左右，
全国硕士毕业生人数约630万，而博士生约有81万。
鉴于只有1%的大学生，部分研究生和大部分博士在使用\LaTeX，
我们可以得到一个模糊的概念，使用\LaTeX 的人数也就在一两百万左右。

http://www.stats.gov.cn/tjsj/pcsj/rkpc/6rp/indexch.htm

\begin{enumerate}[noitemsep]
	\item 几乎所有的大学的官方文件都是使用Word编写后，再输出为PDF;
	\item 绝大多数公司都是在使用微软的Office或WPS来进行办公;
	\item 在绝大多数的企业中，同样是被微软的Office和WPS占领。
\end{enumerate}

所以，为什么我们要使用\LaTeX?

\subsection{所见所得和命令描述文档}

通常文档的编辑制作模式有两种：所见所得和命令描述。前者的代表是Word，后者的代表是方正排版、LaTeX等。

要回答为什么要推荐用LaTeX的最简单直接的一个答案是：排版好看的数学公式。
当然，Word也能排出一般的数学公式，但是不能排出所有稀奇古怪的数学公式，更不要奢谈好看的数学公式。
导致这两者区别的本质原因就是所见所得的编辑模式和命令描述编辑模式的差别。

所见所得的编辑模式最大的好处是：直观和在线实时！但是由此而付出的代价是：
用户必须对文档最终效果负一切的责任。由于用户可以随意摆弄出一种文档视觉效果，
也就很轻易地能够用不正确的手法做出一个实时的局部满意的文档。但是，从文档的整体上来说，
视觉效果就肯定的不一致了。回到排版数学公式这个例子，首先因为数学公式排版是个第三方的插件，
它能够让你插入公式到word文档中，但是，不要奢望能够与word文档的其它视觉表现统一起来。
即使是MS买下这个插件，成为Word的法律上的一部分，但是由于给了你所见所得的编辑手段，
公式的整体表现（例如，大小、风格等）和正文文字的一致协调，这是终端用户的责任！
公式每个局部部分的协调（例如，上、下标与主体的大小比例等），这也是用户的责任！
Word的fans也许要说了，公式不是有默认的模版吗？当然，你可以使用公式的默认模版。
但是，由于你可以随意改变正文的表现形式（例如，字体、版式），
所以，默认的公式模版怎么可能与正文协调？
这也就是为什么含有公式的word文档总体上视觉效果差的原因：行间稀落难看、字间宽松随性。



反观命令描述文档的编辑模式，首先，由于文档最终的视觉效果是由编译程序“生成”的！
所以，文档总体的视觉效果比较容易（注意，是比较容易，而不是一定！）保持一致。
各个插件部件之间的默认协调，也很容易一致。当然，用户也要为此付出代价：离线非实时地编辑文档。



小结成一句话，所见所得给了用户最大的最方便的灵活性，
所以不正确地使用也就更容易把一个文档搞砸。而LaTeX提升了使用者对灵活性的把握门槛，
一般来说，也就比较容易达到预设的专业出版级的效果。随便说一句Word用户不爱听的话，
Word的目标是面向自娱自乐的大众用户，不是出版级的专业用户。笔者要郑重申明的是，
用户层次的不同，并非代表用户的高低贵贱。



如果非要用一个简单理由来推荐LaTeX而非难Word的话，那也许就是文档的总体协调视觉效果。
如果你不关心这一点，或者目标文档本身就不存在这个问题（例如，纯文字的文档），
那么Word应该是一个好的选择。



但是，我们还有更深层次的推荐LaTeX的理由，那就是Word通常
（注意，是通常，而不是绝对）把文档的内容、形式和结构混为一谈，
而LaTeX可以很好地把这三者分开。且听下回分解。




由于点点滴滴利用业余时间来写点感想，所以不承诺任何东西。

 

\subsection{文档的内容、形式和结构}
传统的文档，是由文字构成。现代化的文档，嵌入了符号、图、表、甚至音、视频等等许多媒体形式。
为了容易理解起见，我们暂且先考虑只由文字构成的文档。但是下面的叙述也可以简单推广到其它文档对象。

文档的内容，实际上就是文字字符本身！往往就是指文字的语义（音、形、义）。
而每个文字，都有其表现形式，例如，仿宋体、黑体、1号字、6号字等等。文档的结构，
就是句、段、节、章、顺序等等关于内容的组织。内容和表现形式应该是可以分离的。
同样，文档的结构，也应该是一个独立的属性。（需要说明的是，笔者的观点是，
把文档的形式和结构等，都作为内容的扩展来理解。这当然是从研究角度的需求。本文不准备这样采信。）

文档之美，首先在于内容之美。例如，金庸的武侠小说，不管用什么字体、字号，
连载还是单行本，其给用户的总体感受，应该没有什么变化。小说想传递给读者的信息，
应该是通过内容就能够做到了。当然，结构必须正确。设想把金大侠的小说的章节次序打乱了来看？

文档之美，还可以体现在形式之美上。设想金大侠的小说每一段文字换一种字体或字号试试？
形式之美的另外一种体现是：“大道至简”的符号表达！
谁也不能否认爱因斯坦相对论的那个代表性公式$E=mc^2$的美。
“大道至简”体现了我们古人微言大义的理念。有时候形式能够达到内容所达不到的效果。
例如，现代派的表达“我恨 透 了 这 厮”确实与“我恨透了这厮”有不一样的效果。
这也就是为什么有个诺奖获得者提倡“数学之美”一说。另外一个例子，
数学上，不同的形式往往也约定俗成地代表了不同的内容，d表示一般的变量，粗体d就表示向量了。

那为什么说结构也是文档不可缺少的要素呢？我们都有这样的体验，昏昏欲睡地听着领导在大会上做着报告，
“.…..下面，我谈第三大点……接下来我来谈谈第(二)点……第3个方面就是要加强对文档的正确理解…….”等等。
事实上，如果换成表达“……3.2.3 加强对文档的正确理解”，我们应该很容易知道领导已经开讲第3大点了，
而且进入了第2小点的第3个方面。这里，“3.2.3”既是内容，又是形式，同时也体现了结构。
但是，其内容随结构变化，如果这之前插入一个方面内容，那么“……3.2.3 
加强对文档的正确理解”就应该调整为“……3.2.4 加强对文档的正确理解”；
如果这之前插入一小点，那么“……3.2.3 加强对文档的正确理解”就应该调整为
“……3.3.3 加强对文档的正确理解”……，以此类推。另外形式上，“3.2.3”也可以成为“三(二)3”。

好了，做了这么多的准备工作，我们回到LaTeX和Word的主题上来。

Word的所见所得把用户宠成了将文档的内容、形式和结构混为一谈。

首先是文档内容和形式的混淆。初级的Word用户是不区分统领标题中的“3.2.3”和正文中的“3.2.3”，
他们往往硬打出标题中的“3.2.3”。实际上，正文中的“3.2.3”不管拷贝粘贴到哪里，其意义都是不变的。
而标题中的“3.2.3”将随结构变化而变化。在中英混合的文档中，虽然中文是统一的比如说是宋体字，
但是，夹杂其中的英文字体，很多情况下是不一致的。由于中文和英文的区别足够地大，
所以，这一缺点被掩盖掉了。设想一个等价的纯英文的文档，间或地夹杂着不一种字体，读起来会有什么感受？

其次，忽略对文档结构的应用。有多少Word用户注意到了文档的段落、章、节？
他们只是很满足于达到视觉上的段落、章、节效果，而实际上，
他们往往都是用“正文”模式通过随心所欲地变换字体、大小来达到结构上的效果。
所以，也就不能够很容易让相同的结构保持相同的形式。
例如，你可以看到第一点的标题是黑体4号字，到了第四点的标题，
就成了加粗的黑体4号字了，因为用户忘记了标题结构的表现形式。



所以，Word允许用户把文档的内容、形式和结构混为一谈。直接的例子是：
你能在word文档中找到正文中所有楷体斜体的4号字“我们”，
并把它们替换成黑体小4号字“我们”？不能！因为这些形式信息被混在了内容之中了。
想要把一个格式文本的内容拷贝到另外一个文档场景下？对不起，请将源格式和文字内容一起拷贝！



我们来看LaTeX的解决方案：用户被迫用plain text文本把文档的内容书写出来，
并且有文档结构方面描述手段。文档的表现形式，除了默认地由编译程序处理外，
特别的形式效果都必须显式地用命令描述出来。
所以，最终的.dvi, .ps, .pdf文档只是用户文档的一种外在表示皮肤，
LaTeX源文档才是其内在内容、形式和结构的描述实体。
例如，LaTeX源代码\ section{文档的内容、形式和结构}中，{}中是文档的内容，
其结构信息由命令\ section根据上下文确定，
并用合适的节的符号带领内容的统一的表示形式，出现在最终文档中。



所以我很反对把word文档通过Adobe的工具直接转换成pdf文件，
我把后者称为fake pdf文件，因为这样的pdf文件还不如word文件本身，
与把word拍成照片没有什么两样。我有许多次评阅人家的论文，
看到那种为满足投递要求而不得不把word转换成pdf的文章，
而当这样的文章充斥着大块的符号公式时，
我都会对作者提这样的建议：这么好的结果（假定它们都是正确的）
为什么不用最好的形式来表达呢？事实上，学习使用LaTeX来表达这样好的结果，
并不比做出这些结果困难多少。因为只要花时间，
LaTeX总是学得会的，而论文的好结果不一定花时间就出得来的。



不可忽视的一个事实是，实际上Word是提供把内容、形式和结构区分的功能的，
只是用户学会了一种抵达目的地的方法后，会认为另外一种更正确的方法太“难”而不去学习使用了，
反正我到目的地了。你会发现有许多Word“高级”用户反而把一切自动功能全部取消，
所有效果一律硬打出来。事实上，当你发现Word默认的自动功能与你的预期效果不一致时，
很多情况下是你正在错误地使用Word。
而这时，用户的选择往往是关闭Word的自动功能，而不是debug你文档的写法。



其实，正确地使用所见所得的编辑工具，也可以达到几乎和用命令描述编辑工具一样的效果，
但是使用难度增加了：决不会像乱用Word一样“方便”了！就如同使用命令描述编辑工具一样“难学”。呜呼，人之初，性本惰？！



我们留下了一个小小的重要问题:为什么把文档的内容、形式和结构等区分出来是有价值的并值得推荐和鼓励的？
且听下回分解。



为什么要用LaTeX(3)



\subsection{文档的语义}


最早接触语义文档的概念是1999年www8年会上，Tim Berners-Lee的大会主题报告中，
提出要推广semantic web的概念。事实上，我们在浏览器中所看到的是一个超媒体文档，
所以谈语义web，也就基本上在谈语义文档。



传统的文档是面用读者用户的，计算机在这个过程中只是起到了存储(store)、
传递(communicate)和渲染(render)的作用，机器本身不能理解(understand)文档内容。
是文档的读者在理解文档的信息。语义web是希望web也能够理解其负载的文档含义，
这样就可以帮助用户预处理一些事情，从而更好地为web用户服务。
一个简单的例子就是网络文档的查询：你希望查到“高兴”的文学表达。
显然只用关键字“高兴”来检索达不到目的。因为有的文学作品通篇整段都没有“高兴”两个字，
但是，却表达了无比高兴的情景（目前再高级的搜索引擎也做不到）。
再比如，如何在网上查一查这个方程$x^n+y^n=z^n$的整数解？



实际上，上一节谈到的文档的内容、形式和结构等，
都属于文档物理层面的组成部件，是文档生产者描写文档的手段。
这里提出的文档的语义，属于文档消费者理解的逻辑层面的含义，
是文档用途的真实体现。



目前解决语义文档需求的可行方案，就是让文档的作者标注文档的语义。
那么，什么是文档的语义？实际上，文档的内容、形式、结构等，
就是最基本的文档语义。XML就是热门的描述文档语义的工具。
其实，LaTeX老早就已经是一个应用广泛的文档语义描述工具了。
当html世界叫着要把内容和形式分离的时候，LaTeX文档已经早早地做到并应用得如此娴熟了。